Conventional networking equipment, such as routers, access points, gateways, switches, and the like, generally attempt to ensure that end user traffic is propagated and managed in such a way as to decrease re-transmissions and minimize lag or latency. However, due to an ever-decreasing cost of memory, networking equipment has evolved to include large buffers at every stage of the transmission path. This has led to a phenomenon known as “bufferbloat,” in which downstream equipment sends data to upstream equipment as fast as it will receive it, with no concern for the true end-to-end actual throughput capacity of the connection. This may result in congestion (or “bloat”) as the upstream equipment fails to send along all the buffered data in a timely manner, causing packets to become queued in buffers for too long. In a first-in-first-out queuing system, overly large buffers result in longer queues and higher latency, but do not improve network throughput and may even reduce throughput to zero in extreme cases.
To help combat this problem, many different traffic management algorithms have been developed to increase the Quality of Service (“QoS”) provided by certain key networking equipment, such as routers. However, to be effective, these QoS algorithms need very precise configuration. This configuration can become quite complex due to multiple factors that must be taken into account, such as the type of connectivity and associated protocol overhead (e.g. PPPoE on DSL) and the actual network link throughput between the network gear and the ultimate destination, measured in both directions.
Generally, QoS algorithms are designed to manage the packet flow at times of link saturation. Knowing exactly when and where the saturation points occur is also important to optimal configuration. In addition, conditions of the network link can change over the course of the day/week depending on upstream networking issues, such as overloaded ISP backhauls during the evening when the majority of users are making heavy use of the network. As link saturation, link throughput capacity, and other factors change over time, any manual tuning (assuming it was originally done correctly) may become ineffective and possibly detrimental.
It is with respect to these and other considerations that the disclosure made herein is presented.